<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>pmonpsv: Overview</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">pmonpsv
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__pmonpsv.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">Overview</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_pmon_psv___config.html">XPmonPsv_Config</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for the Performance Monitor device.  <a href="struct_x_pmon_psv___config.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The driver's instance data.  <a href="struct_x_pmon_psv.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gaf75c12bc9c0d7c1edbbe3f9623243d07"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#gaf75c12bc9c0d7c1edbbe3f9623243d07">PMONPSV_APM0_LAR</a>&#160;&#160;&#160;0x0FB0U</td></tr>
<tr class="memdesc:gaf75c12bc9c0d7c1edbbe3f9623243d07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performance Monitor Register offsets.  <a href="#gaf75c12bc9c0d7c1edbbe3f9623243d07">More...</a><br/></td></tr>
<tr class="separator:gaf75c12bc9c0d7c1edbbe3f9623243d07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc0ae31abca813a507dc900990c7f133"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#gacc0ae31abca813a507dc900990c7f133">XPmonPsv_ReadReg</a>(InstancePtr, RegOffset)&#160;&#160;&#160;(Xil_In32((InstancePtr-&gt;Config.BaseAddress) + (RegOffset)))</td></tr>
<tr class="memdesc:gacc0ae31abca813a507dc900990c7f133"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a register of the Performance Monitor device.  <a href="#gacc0ae31abca813a507dc900990c7f133">More...</a><br/></td></tr>
<tr class="separator:gacc0ae31abca813a507dc900990c7f133"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7df7c6c14c7434fbbfa5374e7cfcbe9b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#ga7df7c6c14c7434fbbfa5374e7cfcbe9b">XPmonPsv_WriteReg</a>(InstancePtr, RegOffset, Data)&#160;&#160;&#160;(Xil_Out32( InstancePtr-&gt;Config.BaseAddress +  (RegOffset), (Data)))</td></tr>
<tr class="memdesc:ga7df7c6c14c7434fbbfa5374e7cfcbe9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a register of the Performance Monitor device.  <a href="#ga7df7c6c14c7434fbbfa5374e7cfcbe9b">More...</a><br/></td></tr>
<tr class="separator:ga7df7c6c14c7434fbbfa5374e7cfcbe9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaa7d16fcb54dcbc93fddc2b4f64a9c5bf"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#gaa7d16fcb54dcbc93fddc2b4f64a9c5bf">XPmonPsv_CfgInitialize</a> (<a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *InstancePtr, const <a class="el" href="struct_x_pmon_psv___config.html">XPmonPsv_Config</a> *ConfigPtr, UINTPTR EffectiveAddr)</td></tr>
<tr class="memdesc:gaa7d16fcb54dcbc93fddc2b4f64a9c5bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes a specific <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> device/instance.  <a href="#gaa7d16fcb54dcbc93fddc2b4f64a9c5bf">More...</a><br/></td></tr>
<tr class="separator:gaa7d16fcb54dcbc93fddc2b4f64a9c5bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9da08c69ce00c2dd67828196f443a51"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#gaf9da08c69ce00c2dd67828196f443a51">XPmonPsv_ResetCounter</a> (const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *InstancePtr, u32 Domain, u32 CounterNum)</td></tr>
<tr class="memdesc:gaf9da08c69ce00c2dd67828196f443a51"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function resets the specified counter.  <a href="#gaf9da08c69ce00c2dd67828196f443a51">More...</a><br/></td></tr>
<tr class="separator:gaf9da08c69ce00c2dd67828196f443a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae01033d281536814a9a0578e6029ed4f"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#gae01033d281536814a9a0578e6029ed4f">XPmonPsv_SetMetrics</a> (const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *InstancePtr, u32 StatPeriod, u32 Domain, u32 CounterNum)</td></tr>
<tr class="memdesc:gae01033d281536814a9a0578e6029ed4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets Metrics for specified Counter in the corresponding Metric Selector Register.  <a href="#gae01033d281536814a9a0578e6029ed4f">More...</a><br/></td></tr>
<tr class="separator:gae01033d281536814a9a0578e6029ed4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8969db0e19b31ea48690fb6f8e8c0208"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#ga8969db0e19b31ea48690fb6f8e8c0208">XPmonPsv_GetMetrics</a> (const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *InstancePtr, u32 CounterNum, u8 *MainCtl, u8 *StatPeriod, u32 Domain)</td></tr>
<tr class="memdesc:ga8969db0e19b31ea48690fb6f8e8c0208"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns Metrics in the specified Counter from the corresponding Metric Selector Register.  <a href="#ga8969db0e19b31ea48690fb6f8e8c0208">More...</a><br/></td></tr>
<tr class="separator:ga8969db0e19b31ea48690fb6f8e8c0208"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57d5aae6b20218e6fbca2ce9e90e3c12"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#ga57d5aae6b20218e6fbca2ce9e90e3c12">XPmonPsv_GetWriteCounter</a> (const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *InstancePtr, u32 *WriteRequestValue, u32 *WriteRespValue, u32 Domain, u32 CounterNum)</td></tr>
<tr class="memdesc:ga57d5aae6b20218e6fbca2ce9e90e3c12"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the contents of the Write response and request Counter Register.  <a href="#ga57d5aae6b20218e6fbca2ce9e90e3c12">More...</a><br/></td></tr>
<tr class="separator:ga57d5aae6b20218e6fbca2ce9e90e3c12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1987e1331e4725102fb21b7d813045b"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#gac1987e1331e4725102fb21b7d813045b">XPmonPsv_RequestCounter</a> (<a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *InstancePtr, u32 Domain, u32 *CounterNum)</td></tr>
<tr class="memdesc:gac1987e1331e4725102fb21b7d813045b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns success if a free counter was found and request was granted.  <a href="#gac1987e1331e4725102fb21b7d813045b">More...</a><br/></td></tr>
<tr class="separator:gac1987e1331e4725102fb21b7d813045b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ddd643de28219ab0c50aab729ddd058"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#ga1ddd643de28219ab0c50aab729ddd058">XPmonPsv_GetReadCounter</a> (const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *InstancePtr, u32 *ReadRequestValue, u32 *ReadRespValue, u32 Domain, u32 CounterNum)</td></tr>
<tr class="memdesc:ga1ddd643de28219ab0c50aab729ddd058"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the contents of the Read response and request Counter Register.  <a href="#ga1ddd643de28219ab0c50aab729ddd058">More...</a><br/></td></tr>
<tr class="separator:ga1ddd643de28219ab0c50aab729ddd058"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadb59f26ba546912f1adb10aaa315148c"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#gadb59f26ba546912f1adb10aaa315148c">XPmonPsv_EnableCounters</a> (const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *InstancePtr, u32 Domain, u32 CounterNum)</td></tr>
<tr class="memdesc:gadb59f26ba546912f1adb10aaa315148c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables the following in the Performance Monitor:  <a href="#gadb59f26ba546912f1adb10aaa315148c">More...</a><br/></td></tr>
<tr class="separator:gadb59f26ba546912f1adb10aaa315148c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga10df3b03dcc3e64fb7b8b8bb98ff42d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#ga10df3b03dcc3e64fb7b8b8bb98ff42d0">XPmonPsv_Unlock</a> (const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga10df3b03dcc3e64fb7b8b8bb98ff42d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function unlocks the PmonPsv.  <a href="#ga10df3b03dcc3e64fb7b8b8bb98ff42d0">More...</a><br/></td></tr>
<tr class="separator:ga10df3b03dcc3e64fb7b8b8bb98ff42d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga84fcdf6169d586181aaea1223a82bce1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#ga84fcdf6169d586181aaea1223a82bce1">XPmonPsv_Lock</a> (const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga84fcdf6169d586181aaea1223a82bce1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function locks the PmonPsv.  <a href="#ga84fcdf6169d586181aaea1223a82bce1">More...</a><br/></td></tr>
<tr class="separator:ga84fcdf6169d586181aaea1223a82bce1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea617c99cf28bd06a05856209b6e0ae1"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#gaea617c99cf28bd06a05856209b6e0ae1">XPmonPsv_StopCounter</a> (const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *InstancePtr, u32 Domain, u32 CounterNum)</td></tr>
<tr class="memdesc:gaea617c99cf28bd06a05856209b6e0ae1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function disables the following in the Performance Monitor:  <a href="#gaea617c99cf28bd06a05856209b6e0ae1">More...</a><br/></td></tr>
<tr class="separator:gaea617c99cf28bd06a05856209b6e0ae1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e7371e8483b02cd647f795976658040"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#ga7e7371e8483b02cd647f795976658040">XPmonPsv_SetSrc</a> (const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *InstancePtr, u32 SrcSel, u32 Domain, u32 CounterNum)</td></tr>
<tr class="memdesc:ga7e7371e8483b02cd647f795976658040"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function selects the Source to be monitored.  <a href="#ga7e7371e8483b02cd647f795976658040">More...</a><br/></td></tr>
<tr class="separator:ga7e7371e8483b02cd647f795976658040"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace779962fd5f79ca06427ec1340d553c"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#gace779962fd5f79ca06427ec1340d553c">XPmonPsv_SetPort</a> (const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *InstancePtr, u32 PortSel, u32 Domain, u32 CounterNum)</td></tr>
<tr class="memdesc:gace779962fd5f79ca06427ec1340d553c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function selects the Port to be monitored.  <a href="#gace779962fd5f79ca06427ec1340d553c">More...</a><br/></td></tr>
<tr class="separator:gace779962fd5f79ca06427ec1340d553c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf7106c6ca8857f9661ba1f7b9411dde"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_pmon_psv___config.html">XPmonPsv_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#gadf7106c6ca8857f9661ba1f7b9411dde">XPmonPsv_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr class="memdesc:gadf7106c6ca8857f9661ba1f7b9411dde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions in xpmonpsv_sinit.c.  <a href="#gadf7106c6ca8857f9661ba1f7b9411dde">More...</a><br/></td></tr>
<tr class="separator:gadf7106c6ca8857f9661ba1f7b9411dde"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga86e2d702d03cd2df46dc4ba492d255a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_pmon_psv___config.html">XPmonPsv_Config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#ga86e2d702d03cd2df46dc4ba492d255a6">XPmonPsv_ConfigTable</a> [XPAR_XPMONPSV_NUM_INSTANCES]</td></tr>
<tr class="memdesc:ga86e2d702d03cd2df46dc4ba492d255a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This table contains configuration information for each System Monitor/ADC device in the system.  <a href="#ga86e2d702d03cd2df46dc4ba492d255a6">More...</a><br/></td></tr>
<tr class="separator:ga86e2d702d03cd2df46dc4ba492d255a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86e2d702d03cd2df46dc4ba492d255a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_pmon_psv___config.html">XPmonPsv_Config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pmonpsv.html#ga86e2d702d03cd2df46dc4ba492d255a6">XPmonPsv_ConfigTable</a> [XPAR_XPMONPSV_NUM_INSTANCES]</td></tr>
<tr class="memdesc:ga86e2d702d03cd2df46dc4ba492d255a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This table contains configuration information for each System Monitor/ADC device in the system.  <a href="#ga86e2d702d03cd2df46dc4ba492d255a6">More...</a><br/></td></tr>
<tr class="separator:ga86e2d702d03cd2df46dc4ba492d255a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gaf75c12bc9c0d7c1edbbe3f9623243d07"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PMONPSV_APM0_LAR&#160;&#160;&#160;0x0FB0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performance Monitor Register offsets. </p>

<p>Referenced by <a class="el" href="group__pmonpsv.html#ga84fcdf6169d586181aaea1223a82bce1">XPmonPsv_Lock()</a>, and <a class="el" href="group__pmonpsv.html#ga10df3b03dcc3e64fb7b8b8bb98ff42d0">XPmonPsv_Unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="gacc0ae31abca813a507dc900990c7f133"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XPmonPsv_ReadReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(Xil_In32((InstancePtr-&gt;Config.BaseAddress) + (RegOffset)))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read a register of the Performance Monitor device. </p>
<p>This macro provides register access to all registers using the register offsets defined above.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>contains Instance pointer. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>is the offset of the register to read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The contents of the register. </dd></dl>

<p>Referenced by <a class="el" href="group__pmonpsv.html#ga8969db0e19b31ea48690fb6f8e8c0208">XPmonPsv_GetMetrics()</a>, <a class="el" href="group__pmonpsv.html#ga1ddd643de28219ab0c50aab729ddd058">XPmonPsv_GetReadCounter()</a>, and <a class="el" href="group__pmonpsv.html#ga57d5aae6b20218e6fbca2ce9e90e3c12">XPmonPsv_GetWriteCounter()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7df7c6c14c7434fbbfa5374e7cfcbe9b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XPmonPsv_WriteReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Data&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(Xil_Out32( InstancePtr-&gt;Config.BaseAddress +  (RegOffset), (Data)))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write a register of the Performance Monitor device. </p>
<p>This macro provides register access to all registers using the register offsets defined above.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>contains Instance pointer contains the Baseaddress. </td></tr>
    <tr><td class="paramname">RegOffset</td><td>is the offset of the register to write. </td></tr>
    <tr><td class="paramname">Data</td><td>is the value to write to the register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="group__pmonpsv.html#gadb59f26ba546912f1adb10aaa315148c">XPmonPsv_EnableCounters()</a>, <a class="el" href="group__pmonpsv.html#ga84fcdf6169d586181aaea1223a82bce1">XPmonPsv_Lock()</a>, <a class="el" href="group__pmonpsv.html#gaf9da08c69ce00c2dd67828196f443a51">XPmonPsv_ResetCounter()</a>, <a class="el" href="group__pmonpsv.html#gae01033d281536814a9a0578e6029ed4f">XPmonPsv_SetMetrics()</a>, <a class="el" href="group__pmonpsv.html#gace779962fd5f79ca06427ec1340d553c">XPmonPsv_SetPort()</a>, <a class="el" href="group__pmonpsv.html#ga7e7371e8483b02cd647f795976658040">XPmonPsv_SetSrc()</a>, <a class="el" href="group__pmonpsv.html#gaea617c99cf28bd06a05856209b6e0ae1">XPmonPsv_StopCounter()</a>, and <a class="el" href="group__pmonpsv.html#ga10df3b03dcc3e64fb7b8b8bb98ff42d0">XPmonPsv_Unlock()</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gaa7d16fcb54dcbc93fddc2b4f64a9c5bf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XPmonPsv_CfgInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_x_pmon_psv___config.html">XPmonPsv_Config</a> *&#160;</td>
          <td class="paramname"><em>ConfigPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINTPTR&#160;</td>
          <td class="paramname"><em>EffectiveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function initializes a specific <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> device/instance. </p>
<p>Functions in <a class="el" href="xpmonpsv_8c.html">xpmonpsv.c</a>.</p>
<p>This function must be called prior to using the Performance Monitor device.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> instance. </td></tr>
    <tr><td class="paramname">ConfigPtr</td><td>points to the <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> device configuration structure. </td></tr>
    <tr><td class="paramname">EffectiveAddr</td><td>is the device base address in the virtual memory address space. If the address translation is not used then the physical address is passed. Unexpected errors may occur if the address mapping is changed after this function is invoked.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_DEVICE_IS_STARTED if the device is already started.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The user needs to first call the <a class="el" href="group__pmonpsv.html#gadf7106c6ca8857f9661ba1f7b9411dde" title="Functions in xpmonpsv_sinit.c. ">XPmonPsv_LookupConfig()</a> API which returns the Configuration structure pointer which is passed as a parameter to the <a class="el" href="group__pmonpsv.html#gaa7d16fcb54dcbc93fddc2b4f64a9c5bf" title="This function initializes a specific XPmonPsv device/instance. ">XPmonPsv_CfgInitialize()</a> API. </dd></dl>

<p>References <a class="el" href="struct_x_pmon_psv___config.html#aee8231396f1c20f55574db0bdbb2ed0b">XPmonPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_pmon_psv.html#ae534fae5285ed3b2a68b0c965f0bcb9a">XPmonPsv::Config</a>, <a class="el" href="struct_x_pmon_psv___config.html#a2dc96cc2c6bced6d3f145221d7e0a369">XPmonPsv_Config::DeviceId</a>, <a class="el" href="struct_x_pmon_psv.html#ac23eb8ba0289615366075b998a188f08">XPmonPsv::IsReady</a>, and <a class="el" href="struct_x_pmon_psv.html#af4fb27e4fe3b66198bbb27094d262b9b">XPmonPsv::RequestedCounters</a>.</p>

</div>
</div>
<a class="anchor" id="gadb59f26ba546912f1adb10aaa315148c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XPmonPsv_EnableCounters </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>CounterNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function enables the following in the Performance Monitor: </p>
<ul>
<li>Global clock counter</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> instance. SampleInterval is the sample interval for the sampled metric counters </td></tr>
    <tr><td class="paramname">Domain</td><td>is one of the counter like lpd_main or r5_domain </td></tr>
    <tr><td class="paramname">CounterNum</td><td>is the Counter Number to be enabled.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS on success XST_FAILURE on failure</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>
<p>Setting register field GlobalEn to 1 enables the tracing and statistics collection subsystems of the packet probe.</p>

<p>References <a class="el" href="struct_x_pmon_psv.html#ac23eb8ba0289615366075b998a188f08">XPmonPsv::IsReady</a>, <a class="el" href="struct_x_pmon_psv.html#af4fb27e4fe3b66198bbb27094d262b9b">XPmonPsv::RequestedCounters</a>, and <a class="el" href="group__pmonpsv.html#ga7df7c6c14c7434fbbfa5374e7cfcbe9b">XPmonPsv_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga8969db0e19b31ea48690fb6f8e8c0208"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XPmonPsv_GetMetrics </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>CounterNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>MainCtl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>StatPeriod</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Domain</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns Metrics in the specified Counter from the corresponding Metric Selector Register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> instance. </td></tr>
    <tr><td class="paramname">CounterNum</td><td>is the Counter Number. The valid values are 0 to 9. </td></tr>
    <tr><td class="paramname">MainCtl</td><td>is a reference parameter from application where mainctrl of specified counter is filled. </td></tr>
    <tr><td class="paramname">StatPeriod</td><td>is the reference parameter from application where the StatPeriod is filled. </td></tr>
    <tr><td class="paramname">Domain</td><td>is one of the counter like lpd_main or r5_domain </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if Success </dd></dl>

<p>References <a class="el" href="struct_x_pmon_psv.html#ac23eb8ba0289615366075b998a188f08">XPmonPsv::IsReady</a>, <a class="el" href="struct_x_pmon_psv.html#af4fb27e4fe3b66198bbb27094d262b9b">XPmonPsv::RequestedCounters</a>, and <a class="el" href="group__pmonpsv.html#gacc0ae31abca813a507dc900990c7f133">XPmonPsv_ReadReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga1ddd643de28219ab0c50aab729ddd058"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XPmonPsv_GetReadCounter </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>ReadRequestValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>ReadRespValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>CounterNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns the contents of the Read response and request Counter Register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> instance. </td></tr>
    <tr><td class="paramname">ReadRequestValue</td><td>is the user space pointer with which the value of Write Request Count has to be filled </td></tr>
    <tr><td class="paramname">ReadRespValue</td><td>is the user space pointer with which the value of Write Response Count has to be filled </td></tr>
    <tr><td class="paramname">Domain</td><td>is one of the counter like lpd_main or r5_domain </td></tr>
    <tr><td class="paramname">CounterNum</td><td>is the Counter Number. The valid values are 0 to 9.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS on success XST_FAILURE on failure </dd></dl>

<p>References <a class="el" href="struct_x_pmon_psv.html#ac23eb8ba0289615366075b998a188f08">XPmonPsv::IsReady</a>, <a class="el" href="struct_x_pmon_psv.html#af4fb27e4fe3b66198bbb27094d262b9b">XPmonPsv::RequestedCounters</a>, and <a class="el" href="group__pmonpsv.html#gacc0ae31abca813a507dc900990c7f133">XPmonPsv_ReadReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga57d5aae6b20218e6fbca2ce9e90e3c12"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XPmonPsv_GetWriteCounter </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>WriteRequestValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>WriteRespValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>CounterNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns the contents of the Write response and request Counter Register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> instance. </td></tr>
    <tr><td class="paramname">WriteRequestValue</td><td>is the user space pointer with<ul>
<li>which the value of Write Request Count has to be filled </li>
</ul>
</td></tr>
    <tr><td class="paramname">WriteRespValue</td><td>is the user space pointer with<ul>
<li>which the value of Write Response Count has to be filled </li>
</ul>
</td></tr>
    <tr><td class="paramname">Domain</td><td>is one of the counter like lpd_main or r5_domain </td></tr>
    <tr><td class="paramname">CounterNum</td><td>is the Counter Number. The valid values are 0 to 9.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS on success XST_FAILURE on failure</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_pmon_psv.html#ac23eb8ba0289615366075b998a188f08">XPmonPsv::IsReady</a>, <a class="el" href="struct_x_pmon_psv.html#af4fb27e4fe3b66198bbb27094d262b9b">XPmonPsv::RequestedCounters</a>, and <a class="el" href="group__pmonpsv.html#gacc0ae31abca813a507dc900990c7f133">XPmonPsv_ReadReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga84fcdf6169d586181aaea1223a82bce1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XPmonPsv_Lock </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function locks the PmonPsv. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_pmon_psv.html#ac23eb8ba0289615366075b998a188f08">XPmonPsv::IsReady</a>, <a class="el" href="group__pmonpsv.html#gaf75c12bc9c0d7c1edbbe3f9623243d07">PMONPSV_APM0_LAR</a>, and <a class="el" href="group__pmonpsv.html#ga7df7c6c14c7434fbbfa5374e7cfcbe9b">XPmonPsv_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="gadf7106c6ca8857f9661ba1f7b9411dde"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_pmon_psv___config.html">XPmonPsv_Config</a> * XPmonPsv_LookupConfig </td>
          <td>(</td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Functions in xpmonpsv_sinit.c. </p>
<p>This function looks up the device configuration based on the unique device ID.</p>
<p>The table XPmonPsv_ConfigTable contains the configuration info for each device in the system.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DeviceId</td><td>contains the ID of the device for which the device configuration pointer is to be returned.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>A pointer to the configuration found.</li>
<li>NULL if the specified device ID was not found.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="gac1987e1331e4725102fb21b7d813045b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XPmonPsv_RequestCounter </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>CounterNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns success if a free counter was found and request was granted. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> instance. which the value of Write Request Count has to be filled </td></tr>
    <tr><td class="paramname">Domain</td><td>is one of the counter like lpd_main or r5_domain </td></tr>
    <tr><td class="paramname">CounterNum</td><td>pointer to get Counter Number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Granted counter number. XST_FAILURE otherwise. </dd></dl>

<p>References <a class="el" href="struct_x_pmon_psv.html#ac23eb8ba0289615366075b998a188f08">XPmonPsv::IsReady</a>, and <a class="el" href="struct_x_pmon_psv.html#af4fb27e4fe3b66198bbb27094d262b9b">XPmonPsv::RequestedCounters</a>.</p>

</div>
</div>
<a class="anchor" id="gaf9da08c69ce00c2dd67828196f443a51"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XPmonPsv_ResetCounter </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>CounterNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function resets the specified counter. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> instance. </td></tr>
    <tr><td class="paramname">Domain</td><td>is one of the counter like lpd_main or r5_domain eg XPMONPSV_R5_DOMAIN, XPMONPSV_LPD_MAIN_DOMAIN </td></tr>
    <tr><td class="paramname">CounterNum</td><td>is the Counter Number. The valid values are 0 to 9.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS on success XST_FAILURE on failure</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_pmon_psv.html#ac23eb8ba0289615366075b998a188f08">XPmonPsv::IsReady</a>, <a class="el" href="struct_x_pmon_psv.html#af4fb27e4fe3b66198bbb27094d262b9b">XPmonPsv::RequestedCounters</a>, and <a class="el" href="group__pmonpsv.html#ga7df7c6c14c7434fbbfa5374e7cfcbe9b">XPmonPsv_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="gae01033d281536814a9a0578e6029ed4f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XPmonPsv_SetMetrics </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>StatPeriod</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>CounterNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets Metrics for specified Counter in the corresponding Metric Selector Register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> instance. </td></tr>
    <tr><td class="paramname">StatPeriod</td><td>is the period for which specified counter has to be connected. </td></tr>
    <tr><td class="paramname">Domain</td><td>is one of the counter like lpd_main or r5_domain </td></tr>
    <tr><td class="paramname">CounterNum</td><td>is the Counter Number. The valid values are 0 to 9.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS on success XST_FAILURE on failure</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_pmon_psv.html#af4fb27e4fe3b66198bbb27094d262b9b">XPmonPsv::RequestedCounters</a>, and <a class="el" href="group__pmonpsv.html#ga7df7c6c14c7434fbbfa5374e7cfcbe9b">XPmonPsv_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="gace779962fd5f79ca06427ec1340d553c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XPmonPsv_SetPort </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>PortSel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>CounterNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function selects the Port to be monitored. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> instance. </td></tr>
    <tr><td class="paramname">PortSel</td><td>is the value of the portselect. eg:for lpd_main 0: lpd_fpd_axi 1: prot_xppu for r5_domain 0 : lpd_afifs_axi 1 : lpd_ocm 2 : lpd_ocmext 3 : lpd_pmc_rpu_axi0</td></tr>
    <tr><td class="paramname">Domain</td><td>is one of the counter like lpd_main or r5_domain </td></tr>
    <tr><td class="paramname">CounterNum</td><td>is the Counter Number. The valid values are 0 to 9.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS on success XST_FAILURE on failure </dd></dl>

<p>References <a class="el" href="struct_x_pmon_psv.html#ac23eb8ba0289615366075b998a188f08">XPmonPsv::IsReady</a>, <a class="el" href="struct_x_pmon_psv.html#af4fb27e4fe3b66198bbb27094d262b9b">XPmonPsv::RequestedCounters</a>, and <a class="el" href="group__pmonpsv.html#ga7df7c6c14c7434fbbfa5374e7cfcbe9b">XPmonPsv_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga7e7371e8483b02cd647f795976658040"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XPmonPsv_SetSrc </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>SrcSel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>CounterNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function selects the Source to be monitored. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> instance. </td></tr>
    <tr><td class="paramname">SrcSel</td><td>is the value of the sourceselect.</td></tr>
    <tr><td class="paramname">Domain</td><td>is one of the counter like lpd_main or r5_domain </td></tr>
    <tr><td class="paramname">CounterNum</td><td>is the Counter Number. The valid values are 0 to 9.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS on success XST_FAILURE on failure </dd></dl>
<p>Set the source 000 - OFF Counter disabled. 001 - CYCLE8 Probe clock cycles. 002 - IDLE Idle cycles during which no packet data is observed. 003 - XFER Transfer cycles during which packet data is transferred. 004 - BUSY Busy cycles during which the packet data is made available by the transmitting agent but the receiving agent is not ready to receive it. 005 - WAIT Wait cycles during a packet in which the transmitting agent suspends the transfer of packet data. 006 - PKT Packets. 007 - LUT1 Packets selected by the LUT. 008 - BYTE2 Total number of payload bytes.</p>

<p>References <a class="el" href="struct_x_pmon_psv.html#ac23eb8ba0289615366075b998a188f08">XPmonPsv::IsReady</a>, <a class="el" href="struct_x_pmon_psv.html#af4fb27e4fe3b66198bbb27094d262b9b">XPmonPsv::RequestedCounters</a>, and <a class="el" href="group__pmonpsv.html#ga7df7c6c14c7434fbbfa5374e7cfcbe9b">XPmonPsv_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="gaea617c99cf28bd06a05856209b6e0ae1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XPmonPsv_StopCounter </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>CounterNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function disables the following in the Performance Monitor: </p>
<ul>
<li>Global clock counter</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> instance. </td></tr>
    <tr><td class="paramname">Domain</td><td>is one of the counter like lpd_main or r5_domain </td></tr>
    <tr><td class="paramname">CounterNum</td><td>is the Counter Number. The valid values are 0 to 9.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS on success XST_FAILURE on failure </dd></dl>

<p>References <a class="el" href="struct_x_pmon_psv.html#ac23eb8ba0289615366075b998a188f08">XPmonPsv::IsReady</a>, <a class="el" href="struct_x_pmon_psv.html#af4fb27e4fe3b66198bbb27094d262b9b">XPmonPsv::RequestedCounters</a>, and <a class="el" href="group__pmonpsv.html#ga7df7c6c14c7434fbbfa5374e7cfcbe9b">XPmonPsv_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga10df3b03dcc3e64fb7b8b8bb98ff42d0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XPmonPsv_Unlock </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_pmon_psv.html">XPmonPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function unlocks the PmonPsv. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_pmon_psv.html" title="The driver&#39;s instance data. ">XPmonPsv</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_pmon_psv.html#ac23eb8ba0289615366075b998a188f08">XPmonPsv::IsReady</a>, <a class="el" href="group__pmonpsv.html#gaf75c12bc9c0d7c1edbbe3f9623243d07">PMONPSV_APM0_LAR</a>, and <a class="el" href="group__pmonpsv.html#ga7df7c6c14c7434fbbfa5374e7cfcbe9b">XPmonPsv_WriteReg</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ga86e2d702d03cd2df46dc4ba492d255a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_pmon_psv___config.html">XPmonPsv_Config</a> XPmonPsv_ConfigTable[XPAR_XPMONPSV_NUM_INSTANCES]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This table contains configuration information for each System Monitor/ADC device in the system. </p>

</div>
</div>
<a class="anchor" id="ga86e2d702d03cd2df46dc4ba492d255a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_pmon_psv___config.html">XPmonPsv_Config</a> XPmonPsv_ConfigTable[XPAR_XPMONPSV_NUM_INSTANCES]</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line">{</div>
<div class="line">        {</div>
<div class="line">                XPAR_PSU_CORESIGHT_FPD_ATM_DEVICE_ID,</div>
<div class="line">                XPAR_PSU_CORESIGHT_FPD_ATM_S_AXI_BASEADDR</div>
<div class="line">        },</div>
<div class="line">        {</div>
<div class="line">                XPAR_PSU_CORESIGHT_LPD_ATM_DEVICE_ID,</div>
<div class="line">                XPAR_PSU_CORESIGHT_LPD_ATM_S_AXI_BASEADDR</div>
<div class="line">        }</div>
<div class="line">}</div>
</div><!-- fragment -->
<p>This table contains configuration information for each System Monitor/ADC device in the system. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
